//
//  BaseTableViewController.swift
//  ZSYWeiBo
//
//  Created by 周饰宇 on 2017/4/14.
//  Copyright © 2017年 zhouShiYu. All rights reserved.
//

import UIKit

class BaseTableViewController: UITableViewController, VisitorLoginViewDelegate {

    
    var  userLogin = true
    
    
    /// 设置访客视图
    var visitorView: VisitorLoginView?
    
    override func loadView() {
        
        userLogin = false
        print(userLogin)
        
        userLogin ? super.loadView() : setupVistorView()
    }
    
    // 创建访客视图
    private func setupVistorView(){
        
        // 替换根视图, 系统会默认会在nav & tab之间建立视图
        visitorView = VisitorLoginView()
        visitorView?.delegate = self
        view = visitorView!
//        view.backgroundColor = UIColor.red
        
        // 添加导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem.init(title: "注册", style: UIBarButtonItemStyle.plain, target: self, action:#selector(BaseTableViewController.visitorRegisterButtonClicked))
        
        navigationItem.rightBarButtonItem = UIBarButtonItem.init(title: "登录", style: UIBarButtonItemStyle.plain, target: self, action: #selector(BaseTableViewController.visitorRegisterButtonClicked))
        
        navigationItem.leftBarButtonItem?.tintColor = UIColor.orange
        navigationItem.rightBarButtonItem?.tintColor = UIColor.orange
        
    }
    
    // MARK: 访客视图协议方法
    // 登录
    func visitorLoginButtonClicked() {
       
        let vc = OAuthViewController()
        
        let nav = UINavigationController.init(rootViewController: vc)
        
        // 对于独立的视图控制器，可以使用model 展示
        present(nav, animated: true, completion: nil)
    }
    
    // 注册
    func visitorRegisterButtonClicked() {
        
       
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }

    /*
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)

        // Configure the cell...

        return cell
    }
    */

    /*
    // Override to support conditional editing of the table view.
    override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        // Return false if you do not want the specified item to be editable.
        return true
    }
    */

    /*
    // Override to support editing the table view.
    override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
        if editingStyle == .delete {
            // Delete the row from the data source
            tableView.deleteRows(at: [indexPath], with: .fade)
        } else if editingStyle == .insert {
            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
        }    
    }
    */

    /*
    // Override to support rearranging the table view.
    override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {

    }
    */

    /*
    // Override to support conditional rearranging of the table view.
    override func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
        // Return false if you do not want the item to be re-orderable.
        return true
    }
    */

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}
